﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Policlinica
{
    public abstract class BusinessObjectBase
    {
        /// <summary>
        /// Идентификатор сущности
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// Помечена ли сущность как удаленная
        /// </summary>
        public bool IsDeleted { get; set; }

        /// <summary>
        /// Запись оптимистической блокировки
        /// </summary>
        //public byte[] RowStamp { get; set; }

        /// <summary>
        /// Является ли сущность новой
        /// </summary>
        public virtual bool IsNew
        {
            get { return Id == -1; }
        }

        /// <summary>
        /// Констурктор для создания новой сущности
        /// </summary>
        protected BusinessObjectBase()
        {
            Id = -1;
        }

        /// <summary>
        /// Конструктор для существующей сущности
        /// </summary>
        protected BusinessObjectBase(int id, bool isDeleted)
        {
            Id = id;
            //RowStamp = rowStamp;
            IsDeleted = isDeleted;
        }
    }
}
